1. Technology Field
The present invention generally relates to a data reading method, in particular, to a data reading method for a flash memory and a controller using the same.
2. Description of Related Art
Along with the widespread of digital cameras, camera phones, MP3, and MP4 in recently years, the consumers' demand to storage media has increased drastically too. Flash memory is one of the most adaptable memories for such battery-powered portable products due to its characteristics such as data non-volatility, low power consumption, small volume, and non-mechanical structure. Besides being applied in foregoing portable products, flash memory is also broadly applied to external products such as flash cards and flash drives. Thereby, flash memory has become one of the most focused electronic products in recent years and the development thereof is going toward high storage capacity and high stability.
Generally speaking, flash memories can be categorized into two types according to the process precision thereof: single level cell (SLC) flash memories, and multi level cell (MLC) flash memories. The storage capacity of a MLC flash memory is higher than that of a SLC flash memory; however, the stability of a MLC flash memory is lower than that of a SLC flash memory.
Regardless of MLC flash memory or SLC flash memory, when data stored in the same block is read repeatedly (for example, between 100,000 times and 1,000,000 times), the data read may be incorrect or data stored in this block may even be lost. Such a situation is usually referred as “read disturb” by those having ordinary knowledge in the art. In particular, the system data (for example, a firmware code and a file allocation table (FAT)) of a flash memory storage system is stored in a flash memory, and the system data is frequently read during the operation of the flash memory storage system. Accordingly, a technique for resolving the problem of read disturb has to be provided for effectively preventing data loss caused by read disturb.